1 using System;
2 using
System.Collections.Generic;
3 using
System.ComponentModel;
4 using
System.Drawing;
5 using
System.Data;
6 using
System.Linq;
7 using
System.Text;
8 using
System.Threading.Tasks;
9 using
System.Windows.Forms;
10
11 namespace
SoftQuanLyNhaHang.Views
12 {
13     
public partial class uctNhaCungCap : UserControl
14     {
15         
public uctNhaCungCap()
16         {
17             InitializeComponent();
18         }
19
20         
public static uctNhaCungCap uctNCC = new uctNhaCungCap();
21
22         
int _IdNhaCungCap = 0;
23         
string _TrangThai = "SuDung";
24         DateTime _NgayTao = DateTime.Now;
25         
string _HoVaTen = string.Empty;
26         
string _SoDienThoai = string.Empty;
27         
string _DiaChi = string.Empty;
28         
string _TenCongTy = string.Empty;
29         
string _Dc_Email = string.Empty;
30         DateTime _NgayThanhLap_NgaySinh = DateTime.Now;
31         
string _AnhDaiDien = string.Empty;
32         
string _GhiChu = string.Empty;
33
34         
int _stt = 0;
35         
int _tongSoBanGhi = 0;
36         
int _pageSize = 30;
37         
int _pageIndex = 1;
38
39
40         
private void HienThiDanhSachNhaCungCap(int idNhaCungCap, string hoVaTen, string soDienThoai, string tenCongTy)
41         {
42             
43
44             DataTable dtNCC =
new DataTable();
45
46             dgvDanhSachNCC.Rows.Clear();
47             
//Ẩn cột đầu tiên
48             dgvDanhSachNCC.RowHeadersVisible =
false;
49             
//-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
50             
this.dgvDanhSachNCC.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
51             
this.dgvDanhSachNCC.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
52             
//this.dgvDanhSachNhapHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
53
54             
this.dgvDanhSachNCC.Columns["TongMatHangCC"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
55             
this.dgvDanhSachNCC.Columns["TongMatHangCC"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
56
57             
this.dgvDanhSachNCC.Columns["TKNoNCC"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
58             
this.dgvDanhSachNCC.Columns["TKNoNCC"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
59
60             
this.dgvDanhSachNCC.Columns["Sua"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
61             
this.dgvDanhSachNCC.Columns["Sua"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
62
63
64             
if (chkDoiTac.Checked == true && chkKhongDt.Checked == true)
65             {
66                 _TrangThai =
"TatCa";
67             }
68             
else
69             {
70                 
if (chkDoiTac.Checked == true)
71                 {
72                     _TrangThai =
"SuDung";
73                 }
74                 
else
75                 {
76                     _TrangThai =
"Khong";
77                 }
78             }
79             
80
81             dtNCC = Controllers.NhaCungCapCtrl.FillDataSet_Gets_NhaCungCap_AllSearchCustom(idNhaCungCap, _TrangThai, DateTime.Now, hoVaTen, soDienThoai,
"diaChi", tenCongTy, "diachiemail", DateTime.Now, "anhdaidien", "ghi chu", _pageSize, _pageIndex).Tables[0];
82
83             
if (dtNCC.Rows.Count > 0)
84             {
85                 _tongSoBanGhi = Int32.Parse(dtNCC.Rows[
0]["TongSoBanGhi"].ToString());
86
87                 
double _tongmathang = 0;
88                 
//double _tknoncc = 0;
89
90                 
foreach (DataRow item in dtNCC.Rows)
91                 {
92                     _stt +=
1;
93                     
int n = dgvDanhSachNCC.Rows.Add();
94
95                     dgvDanhSachNCC.Rows[n].Cells[
"IdNhaCungCap"].Value = item["IdNhaCungCap"].ToString();
96                     dgvDanhSachNCC.Rows[n].Cells[
"STT"].Value = _stt.ToString();
97
98                     
//TrangThai
99                     dgvDanhSachNCC.Rows[n].Cells[
"TrangThai"].Value = item["TrangThai"].ToString();
100
101                     
//NgayTao
102                     dgvDanhSachNCC.Rows[n].Cells[
"NgayTao"].Value = item["NgayTao"].ToString();
103                     
104                     dgvDanhSachNCC.Rows[n].Cells[
"HoVaTen"].Value = item["HoVaTen"].ToString();
105                     dgvDanhSachNCC.Rows[n].Cells[
"SoDienThoai"].Value = item["SoDienThoai"].ToString();
106                     dgvDanhSachNCC.Rows[n].Cells[
"DiaChi"].Value = item["DiaChi"].ToString();
107
108                     dgvDanhSachNCC.Rows[n].Cells[
"TenCongTy"].Value = item["TenCongTy"].ToString();
109
110                     
//Dc_Email
111                     dgvDanhSachNCC.Rows[n].Cells[
"Dc_Email"].Value = item["Dc_Email"].ToString();
112
113                     _tongmathang = CauHinhHeThong.Format_SoDeTinhToan(item[
"TongMatHangCC"].ToString(), false);
114                     dgvDanhSachNCC.Rows[n].Cells[
"TongMatHangCC"].Value = CauHinhHeThong.Format_SoDeHienThi(_tongmathang, true);
115
116                     
//_tknoncc = CauHinhHeThong.Format_SoDeTinhToan(item["TKNoNCC"].ToString(), false);
117                     
//dgvDanhSachNCC.Rows[n].Cells["TKNoNCC"].Value = CauHinhHeThong.Format_SoDeHienThi(_tknoncc, true);
118
119                     
//GhiChu
120                     dgvDanhSachNCC.Rows[n].Cells[
"GhiChu"].Value = item["GhiChu"].ToString();
121                     
122                     
//NgayThanhLap_NgaySinh
123                     dgvDanhSachNCC.Rows[n].Cells[
"NgayThanhLap_NgaySinh"].Value = item["NgayThanhLap_NgaySinh"].ToString();
124
125                     dgvDanhSachNCC.Rows[n].Cells[
"Sua"].Value = "Sửa";
126                 }
127
128             }
129             
else
130             {
131                 _tongSoBanGhi =
0;
132             }
133
134             lblTongSoBanGhiHienThi.Text = CauHinhHeThong.HienThiSoBanGhiTuA_DenB(_pageSize, _pageIndex, _stt.ToString(), _tongSoBanGhi.ToString());
135         }
136
137         
/*
138         //hiển thị sản phẩm theo id nhà cung cấp trong bảng kho
139         
private void HienThiDanhSachSanPhamTheoIdNhaCungCap(int idKho, string masanpham, string tensanpham, int nhaCungCapId)
140         {
141             DataTable dtKho =
new DataTable();
142
143             dgvDSSP_TheoIdNCC.Rows.Clear();
144             //Ẩn cột đầu tiên
145             dgvDSSP_TheoIdNCC.RowHeadersVisible =
false;
146             //-https://stackoverflow.com/questions/
17404969/right-align-a-column-in-datagridview-doesnt-work
147             
this.dgvDSSP_TheoIdNCC.Columns["STT_DsKho"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
148             
this.dgvDSSP_TheoIdNCC.Columns["STT_DsKho"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
149             //
this.dgvDanhSachNhapHang.Columns["STT_DsKho"].SortMode = DataGridViewColumnSortMode.NotSortable;
150
151
152             //format header o day
153
154             dtKho = Controllers.KhoCtrl.FillDataSet_getKho_AllSearch(
0, masanpham, tensanpham, 0, 0, 0, nhaCungCapId, 0, "anhdaidien", 0, "hansudung", "ngaysanxuat", DateTime.Now, "MoTa", 0, 0, 0, 0, 0, 0, 0, 0, DateTime.Now, DateTime.Now, "trangthai", DateTime.Now, "Chietkhautheo", 0, 0, _pageSize, _pageIndex).Tables[0];
155
156             
if (dtKho.Rows.Count > 0)
157             {
158                 
int _sttKho = 0;
159                 
int _tongSoBanGhi_Kho = Int32.Parse(dtKho.Rows[0]["TongSoBanGhi"].ToString());
160
161                 
foreach (DataRow item in dtKho.Rows)
162                 {
163                     _sttKho +=
1;
164                     
int nkho = dgvDSSP_TheoIdNCC.Rows.Add();
165
166                     dgvDSSP_TheoIdNCC.Rows[nkho].Cells[
"IdKho"].Value = item["IdKho"].ToString();
167                     dgvDSSP_TheoIdNCC.Rows[nkho].Cells[
"MaSanPham"].Value = item["MaSanPham"].ToString();
168                     //dgvDSSP_TheoIdNCC.Rows[nkho].Cells[
"DonViTinhId"].Value = item["DonViTinhId"].ToString();
169                     //dgvDSSP_TheoIdNCC.Rows[nkho].Cells[
"STT"].Value = _stt.ToString();
170                     dgvDSSP_TheoIdNCC.Rows[nkho].Cells[
"TenSanPham"].Value = item["TenSanPham"].ToString();
171                     //dgvDSSP_TheoIdNCC.Rows[nkho].Cells[
"NhaCungCapId"].Value = item["NhaCungCapId"].ToString();
172
173                     
174                 }
175             }
176
177         }
178
179          */

180
181         
private void uctNhaCungCap_Load(object sender, EventArgs e)
182         {
183             
//panel1.VerticalScroll.Value = 0;
184
185             
this.HienThiDanhSachNhaCungCap(0, txtHoVaTen_TimKiem.Text.Trim(), txtSoDienThoai_TimKiem.Text.Trim(), txtTenCongTy_TimKiem.Text.Trim());
186
187             
//Hiển thị all chữ trong row datagridview
188             
//--https://www.codeproject.com/Questions/667657/How-to-wrap-text-in-datagridview-column-using-vb-n
189             
//dgvDanhSachNCC.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True;
190             
191             
//dgvDanhSachNCC.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders;
192             
//dgvDanhSachNCC.RowTemplate.MinimumHeight = 29;
193         }
194
195         
private void linkLabelDanhSachNCC_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
196         {
197             _IdNhaCungCap =
0;
198             tabControlNCC.SelectedTab = tabPageDanhSachNCC;
199
200             lblThongBao.Text =
"";
201             
//-https://stackoverflow.com/questions/11029963/reset-the-panel-scroll-position-in-winform-application-c-sharp
202             
//panel1.VerticalScroll.Value = 0;
203            
// panel1.AutoScroll = true;
204             _pageSize =
30;
205             _pageIndex =
1;
206             _stt =
0;
207
208             
this.HienThiDanhSachNhaCungCap(0, txtHoVaTen_TimKiem.Text.Trim(), txtSoDienThoai_TimKiem.Text.Trim(), txtTenCongTy_TimKiem.Text.Trim());
209
210             
211         }
212
213         
private void linkLabelThemMoiNCC_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
214         {
215             _IdNhaCungCap =
0;
216             
//clear all textbox
217             
this.ContronlTrongFormNCC("","","","","","","","SuDung");
218             
219             tabControlNCC.SelectedTab = tabPageThemNhaCC;
220
221             lblThongBao.Text =
"";
222         }
223
224         
private void dgvDanhSachNCC_CellClick(object sender, DataGridViewCellEventArgs e)
225         {
226             
//-https://stackoverflow.com/questions/1132471/how-to-reference-column-name-instead-of-e-columnindex-in-winform-datagridview-ev
227             
if (dgvDanhSachNCC.Columns[e.ColumnIndex].Name == "Sua" && e.RowIndex != -1)
228             {
229                 
//-https://stackoverflow.com/questions/12762036/datagridview-cell-click-event
230                 
if (dgvDanhSachNCC.CurrentCell != null && dgvDanhSachNCC.CurrentCell.Value != null)
231                 {
232                     
//update nha cung cap
233                     _IdNhaCungCap = Int32.Parse(dgvDanhSachNCC.Rows[e.RowIndex].Cells[
"IdNhaCungCap"].Value.ToString());
234
235                     
string hovaten, sodienthoai, diachi, tencongty, dc_email, ngaythanhlap, ghichu, trangthai;
236                     
237                     hovaten = dgvDanhSachNCC.Rows[e.RowIndex].Cells[
"HoVaTen"].Value.ToString();
238                     sodienthoai = dgvDanhSachNCC.Rows[e.RowIndex].Cells[
"SoDienThoai"].Value.ToString();
239                     diachi = dgvDanhSachNCC.Rows[e.RowIndex].Cells[
"DiaChi"].Value.ToString();
240                     tencongty = dgvDanhSachNCC.Rows[e.RowIndex].Cells[
"TenCongTy"].Value.ToString();
241                     dc_email = dgvDanhSachNCC.Rows[e.RowIndex].Cells[
"Dc_Email"].Value.ToString();
242                     ngaythanhlap = dgvDanhSachNCC.Rows[e.RowIndex].Cells[
"NgayThanhLap_NgaySinh"].Value.ToString();
243                     ghichu = dgvDanhSachNCC.Rows[e.RowIndex].Cells[
"GhiChu"].Value.ToString();
244                     trangthai = dgvDanhSachNCC.Rows[e.RowIndex].Cells[
"TrangThai"].Value.ToString();
245
246                     
//hien thi thong tin vao form
247                     
this.ContronlTrongFormNCC(hovaten, sodienthoai, diachi, tencongty, dc_email, ngaythanhlap, ghichu, trangthai);
248
249                     
//Hien thi form them moi
250                     tabControlNCC.SelectedTab = tabPageThemNhaCC;
251                 }
252             }
253
254             
/*
255             //Tổng số mặt hàng click
256             //-https://stackoverflow.com/questions/
1132471/how-to-reference-column-name-instead-of-e-columnindex-in-winform-datagridview-ev
257             
if (dgvDanhSachNCC.Columns[e.ColumnIndex].Name == "TongMatHangCC" && e.RowIndex != -1)
258             {
259                 //-https://stackoverflow.com/questions/
12762036/datagridview-cell-click-event
260                 
if (dgvDanhSachNCC.CurrentCell != null && dgvDanhSachNCC.CurrentCell.Value != null)
261                 {
262                     
int nhacungcapId = Int32.Parse(dgvDanhSachNCC.Rows[e.RowIndex].Cells["IdNhaCungCap"].Value.ToString());
263
264                     //Hiển thị sản phẩm theo id nhà cung cấp
265                     HienThiDanhSachSanPhamTheoIdNhaCungCap(
0, "", "", nhacungcapId);
266
267                     //tab ds sp theo id ncc
268                     tabControlNCC.SelectedTab = tabPageDSSanPhamTrongKhoTheoNCC;
269                 }
270             }
271              */

272         }
273
274
275         
private void ContronlTrongFormNCC(string hovaten, string sodienthoai, string diachi, string tencongty, string dc_email, string ngaythanhlap, string ghichu, string trangthai)
276         {
277             txtHoVaTen.Text = hovaten;
278             txtSoDienThoai.Text = sodienthoai;
279             txtDiaChi.Text = diachi;
280             txtTenCongTy.Text = tencongty;
281             txtEmail.Text = dc_email;
282             txtGhiChu.Text = ghichu;
283
284             
if (trangthai == "SuDung")
285             {
286                 rdoDoiTac.Checked =
true;
287             }
288             
else
289             {
290                 rdoKhong.Checked =
true;
291             }
292         }
293
294         
private void btnLuu_Click(object sender, EventArgs e)
295         {
296             
try
297             {
298                 _HoVaTen = txtHoVaTen.Text.Trim();
299                 
if (string.IsNullOrEmpty(_HoVaTen))
300                 {
301                     MessageBox.Show(
"Họ tên không được để trống");
302                     txtHoVaTen.Focus();
303                     
return;
304                 }
305             }
306             
catch { }
307
308             
try
309             {
310                 _SoDienThoai = txtSoDienThoai.Text.Trim();
311
312                 
if (string.IsNullOrEmpty(_SoDienThoai))
313                 {
314                     MessageBox.Show(
"Số điện thoại không được để trống");
315                     txtSoDienThoai.Focus();
316                     
return;
317                 }
318             }
319             
catch { }
320
321             
try
322             {
323                 _NgayThanhLap_NgaySinh = DateTime.Parse(dateTimePickerNgaySinh.Text);
324             }
325             
catch { }
326
327             
try
328             {
329                 _TenCongTy = txtTenCongTy.Text.Trim();
330             }
331             
catch { }
332
333             
try
334             {
335                 _Dc_Email = txtEmail.Text.Trim();
336             }
337             
catch { }
338
339             
try
340             {
341                 _AnhDaiDien =
"?";
342             }
343             
catch { }
344
345             
try
346             {
347                 _DiaChi = txtDiaChi.Text.Trim();
348             }
349             
catch { }
350
351             
try
352             {
353                 _GhiChu = txtGhiChu.Text.Trim();
354             }
355             
catch { }
356
357             
if (rdoDoiTac.Checked == true)
358             {
359                 _TrangThai =
"SuDung";
360             }
361             
else
362             {
363                 _TrangThai =
"Khong";
364             }
365
366             
if (_IdNhaCungCap == 0)
367             {
368                 _IdNhaCungCap = Controllers.NhaCungCapCtrl.InsertNhaCungCap(_IdNhaCungCap, _TrangThai, _NgayTao, _HoVaTen, _SoDienThoai, _DiaChi, _TenCongTy, _Dc_Email, _NgayThanhLap_NgaySinh, _AnhDaiDien, _GhiChu);
369
370                 
//hien thi lai danh sach
371                 
this.HienThiDanhSachNhaCungCap(0, "", "", "");
372
373                 
//goi sang tab danh sach
374                 tabControlNCC.SelectedTab = tabPageDanhSachNCC;
375
376             }
377             
else
378             {
379                 Controllers.NhaCungCapCtrl.UpdateNhaCungCap(_IdNhaCungCap, _TrangThai, _NgayTao, _HoVaTen, _SoDienThoai, _DiaChi, _TenCongTy, _Dc_Email, _NgayThanhLap_NgaySinh, _AnhDaiDien, _GhiChu);
380
381                 
//MessageBox.Show("Update thành công!");
382
383                 
//hien thi lai danh sach
384                 
this.HienThiDanhSachNhaCungCap(0, "", "", "");
385
386                 
//tabControlNCC.SelectedTab = tabPageDanhSachNCC;
387                 tabControlNCC.SelectedTab = tabPageDanhSachNCC;
388                 
//lblThongBao.Text = "Lưu thành công!";
389             }
390
391         }
392
393         
private void btnTimKiem_Click(object sender, EventArgs e)
394         {
395
396             
//hien thi lai danh sach
397             
this.HienThiDanhSachNhaCungCap(0, txtHoVaTen_TimKiem.Text.Trim(), txtSoDienThoai_TimKiem.Text.Trim(), txtTenCongTy_TimKiem.Text.Trim());
398
399             
//hien thi sang tab danh sach
400             tabControlNCC.SelectedTab = tabPageDanhSachNCC;
401         }
402
403         
private void txtHoVaTen_TimKiem_TextChanged(object sender, EventArgs e)
404         {
405             _pageSize =
30;
406             _pageIndex =
1;
407             _stt =
0;
408
409             
//hien thi lai danh sach
410             
this.HienThiDanhSachNhaCungCap(0, txtHoVaTen_TimKiem.Text.Trim(), txtSoDienThoai_TimKiem.Text.Trim(), txtTenCongTy_TimKiem.Text.Trim());
411
412             
//hien thi sang tab danh sach
413             tabControlNCC.SelectedTab = tabPageDanhSachNCC;
414         }
415
416         
private void txtSoDienThoai_TimKiem_TextChanged(object sender, EventArgs e)
417         {
418             _pageSize =
30;
419             _pageIndex =
1;
420             _stt =
0;
421
422             
//hien thi lai danh sach
423             
this.HienThiDanhSachNhaCungCap(0, txtHoVaTen_TimKiem.Text.Trim(), txtSoDienThoai_TimKiem.Text.Trim(), txtTenCongTy_TimKiem.Text.Trim());
424
425             
//hien thi sang tab danh sach
426             tabControlNCC.SelectedTab = tabPageDanhSachNCC;
427         }
428
429         
private void txtTenCongTy_TimKiem_TextChanged(object sender, EventArgs e)
430         {
431             _pageSize =
30;
432             _pageIndex =
1;
433             _stt =
0;
434
435             
//hien thi lai danh sach
436             
this.HienThiDanhSachNhaCungCap(0, txtHoVaTen_TimKiem.Text.Trim(), txtSoDienThoai_TimKiem.Text.Trim(), txtTenCongTy_TimKiem.Text.Trim());
437
438             
//hien thi sang tab danh sach
439             tabControlNCC.SelectedTab = tabPageDanhSachNCC;
440         }
441
442         
private void btnHuy_Click(object sender, EventArgs e)
443         {
444             _IdNhaCungCap =
0;
445             
446             tabControlNCC.SelectedTab = tabPageDanhSachNCC;
447             
//clear all textbox
448             
this.ContronlTrongFormNCC("", "", "", "", "", "", "", "SuDung");
449
450         }
451
452         
private void btnTiep_Click(object sender, EventArgs e)
453         {
454             
if (_tongSoBanGhi > (_pageSize * _pageIndex))
455             {
456                 _pageIndex = _pageIndex +
1;
457
458                 
this.HienThiDanhSachNhaCungCap(0, txtHoVaTen_TimKiem.Text.Trim(), txtSoDienThoai_TimKiem.Text.Trim(), txtTenCongTy_TimKiem.Text.Trim());
459
460             }
461             
else
462             {
463                 
return;
464             }
465         }
466
467         
private void btnSau_Click(object sender, EventArgs e)
468         {
469             
if ((_pageSize * _pageIndex) > _pageSize)
470             {
471                 _pageIndex = _pageIndex -
1;
472                 _stt = _pageSize * _pageIndex - _pageSize;
473
474
475                 
this.HienThiDanhSachNhaCungCap(0, txtHoVaTen_TimKiem.Text.Trim(), txtSoDienThoai_TimKiem.Text.Trim(), txtTenCongTy_TimKiem.Text.Trim());
476
477             }
478             
else
479             {
480                 _pageIndex =
1;
481             }
482         }
483
484         
private void linkLabel1TimK_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
485         {
486             _pageSize =
30;
487             _pageIndex =
1;
488             _stt =
0;
489             
//hien thi lai danh sach
490             
this.HienThiDanhSachNhaCungCap(0, txtHoVaTen_TimKiem.Text.Trim(), txtSoDienThoai_TimKiem.Text.Trim(), txtTenCongTy_TimKiem.Text.Trim());
491
492             
//hien thi sang tab danh sach
493             tabControlNCC.SelectedTab = tabPageDanhSachNCC;
494         }
495
496         
private void btnXoa_Click(object sender, EventArgs e)
497         {
498             DialogResult dr = MessageBox.Show(
"Bạn có chắc chắn xóa?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
499             
if (dr == DialogResult.Yes)
500             {
501                 Controllers.NhaCungCapCtrl.DeleteNhaCungCap(_IdNhaCungCap);
502
503                 _pageSize =
30;
504                 _pageIndex =
1;
505                 _stt =
0;
506
507                 
//hien thi lai danh sach
508                 
this.HienThiDanhSachNhaCungCap(0, txtHoVaTen_TimKiem.Text.Trim(), txtSoDienThoai_TimKiem.Text.Trim(), txtTenCongTy_TimKiem.Text.Trim());
509
510                 tabControlNCC.SelectedTab = tabPageDanhSachNCC;
511
512             }
513             
else
514             {
515                 
return;
516             }
517             
518         }
519
520         
521     }
522 }


Gõ tìm kiếm nhanh...